XML con XSL y <msxsl:script>
Publicado por Patricia Vélez (1 intervención) el 25/06/2005 22:44:58
Hola, necesito transformar un documento XML con XSL pero insertando secuencias de comandos a través de <msxsl:script>, ademas en estas secuencias de comandos hay instrucciones que no se ejecutan sino es importando los namespaces "System.Data" y "System.Data.SqlClient". ¿Saben como puedo introducir en el <msxsl:script> estos namespaces? Aqui anexo un trozo del código de mi xsl:
<?xml version="1.0"?>
<!DOCTYPE componente [
<!ENTITY aacute "á">
<!ENTITY eacute "é">
<!ENTITY iacute "í">
<!ENTITY oacute "ó">
<!ENTITY uacute "ú">
<!ENTITY Aacute "Á">
<!ENTITY Eacute "É">
<!ENTITY Iacute "Í">
<!ENTITY Oacute "Ó">
<!ENTITY Uacute "Ú">
<!ENTITY ntilde "ñ">
<!ENTITY Ntilde "Ñ">
<!ENTITY nbsp " ">
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="urn:my-scripts">
<msxsl:script implements-prefix="user" language="vb">
<![CDATA[
Sub Datos(sender As Object, e As EventArgs)
Dim cnn As New System.Data.SqlClient.SqlConnection
cnn.ConnectionString = "data source=200.44.32.218;user id=pvelez;password=040382;database=tesis;persist security info=False"
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = cnn
cmd.CommandType = CommandType.Text
cmd.CommandText = "INSERT INTO prueba Values('Tesis')"
cnn.Open()
cmd.ExecuteReader(CommandBehavior.Default)
End Sub
]]>
</msxsl:script>
<xsl:output media-type="text/html" encoding="ISO-8859-1"/>
<xsl:template match="componente">
<html>
<head>
<title>Paso 1 Inclusion de Switch</title>
</head>
Cuando ejecuto el archivo en el browser me aparece el siguiente error:
Error de servidor en la aplicación '/PruebasXMLXSL'.
--------------------------------------------------------------------------------
Errores de compilación en la secuencia de comandos: file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(26,0) : error BC30002: El tipo 'System.Data.SqlClient.SqlConnection' no está definido. file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(29,0) : error BC30002: El tipo 'SqlClient.SqlCommand' no está definido. file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(31,0) : error BC30451: No se ha declarado el nombre 'CommandType'. file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(35,0) : error BC30451: No se ha declarado el nombre 'CommandBehavior'.
ALguien me podría ayudar con esto por favor????
<?xml version="1.0"?>
<!DOCTYPE componente [
<!ENTITY aacute "á">
<!ENTITY eacute "é">
<!ENTITY iacute "í">
<!ENTITY oacute "ó">
<!ENTITY uacute "ú">
<!ENTITY Aacute "Á">
<!ENTITY Eacute "É">
<!ENTITY Iacute "Í">
<!ENTITY Oacute "Ó">
<!ENTITY Uacute "Ú">
<!ENTITY ntilde "ñ">
<!ENTITY Ntilde "Ñ">
<!ENTITY nbsp " ">
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="urn:my-scripts">
<msxsl:script implements-prefix="user" language="vb">
<![CDATA[
Sub Datos(sender As Object, e As EventArgs)
Dim cnn As New System.Data.SqlClient.SqlConnection
cnn.ConnectionString = "data source=200.44.32.218;user id=pvelez;password=040382;database=tesis;persist security info=False"
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = cnn
cmd.CommandType = CommandType.Text
cmd.CommandText = "INSERT INTO prueba Values('Tesis')"
cnn.Open()
cmd.ExecuteReader(CommandBehavior.Default)
End Sub
]]>
</msxsl:script>
<xsl:output media-type="text/html" encoding="ISO-8859-1"/>
<xsl:template match="componente">
<html>
<head>
<title>Paso 1 Inclusion de Switch</title>
</head>
Cuando ejecuto el archivo en el browser me aparece el siguiente error:
Error de servidor en la aplicación '/PruebasXMLXSL'.
--------------------------------------------------------------------------------
Errores de compilación en la secuencia de comandos: file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(26,0) : error BC30002: El tipo 'System.Data.SqlClient.SqlConnection' no está definido. file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(29,0) : error BC30002: El tipo 'SqlClient.SqlCommand' no está definido. file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(31,0) : error BC30451: No se ha declarado el nombre 'CommandType'. file:///c:/inetpub/wwwroot/PruebasXMLXSL/Sergio1.xslt(35,0) : error BC30451: No se ha declarado el nombre 'CommandBehavior'.
ALguien me podría ayudar con esto por favor????
Valora esta pregunta


0